#ifndef QRESETWIDGET_H
#define QRESETWIDGET_H

#include "property_editor_global.h"

#include <QWidget>
#include <QToolButton>
#include <QVariant>

class QAbstractProperty;
class QAbstractPropertyEditor;

class PROPERTY_EDITORSHARED_EXPORT QPropertyBaseEditor : public QWidget
{
    Q_OBJECT
public:
    explicit QPropertyBaseEditor(QAbstractProperty *pro,QWidget *parent = 0);
    QAbstractProperty   *get_property();
protected:
    void    paintEvent(QPaintEvent *);
    bool    eventFilter(QObject *, QEvent *);
signals:
    void    property_changed(const QVariant &value);
public slots:
    void    reset();
protected slots:
    void    property_refresh();
protected:
    QToolButton                     *m_resetButton;
    QAbstractProperty               *m_property;
    QAbstractPropertyEditor*         m_widget;
};

#endif // QRESETWIDGET_H
